package br.com.controleVendas.entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import org.hibernate.annotations.ForeignKey;

@SuppressWarnings("deprecation")
@Entity
@Table(name = "cidade")
public class Cidade extends GenericEntity<Cidade>
{
    private static final long serialVersionUID = 7139677152100665932L;

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "cd_id")
    private Long              cdId;

    @Column(name = "nm_cidade", length = 150, nullable = false)
    private String            nmCidade;

    @ManyToOne
    @JoinColumn(name = "fk_estado", referencedColumnName = "cd_id")
    @ForeignKey(name="fk_cidade_estado")
    private Estado            estado;

    @Override
    public String getNmEntity()
    {
        return "Cidade";
    }

    public Long getCdId()
    {
        return cdId;
    }

    public void setCdId(Long cdId)
    {
        this.cdId = cdId;
    }

    public String getNmCidade()
    {
        return nmCidade;
    }

    public void setNmCidade(String nmCidade)
    {
        this.nmCidade = nmCidade;
    }

    public Estado getEstado()
    {
        return estado;
    }

    public void setEstado(Estado estado)
    {
        this.estado = estado;
    }

}
